package conf

import (
	"stwin.net/zoro/zconfig"
)

// 项目初始化时使用的结构体

// ======================== 范围内代码无需任何改动 ===============================

type BootStrap struct {
	App        *zconfig.App    `json:"app"  yaml:"app"`
	Server     *zconfig.Server `json:"server" yaml:"server"`
	DataConf   *zconfig.Data   `json:"data" yaml:"data"`
	CustomData *Custom         `json:"custom"`
}

func (b *BootStrap) GetConfig() zconfig.IZoroConfig {
	return b
}

func (b *BootStrap) HotKey() interface{} {
	return b.CustomData
}

func (b *BootStrap) GetApp() *zconfig.App {
	return b.App
}

func (b *BootStrap) GetServer() *zconfig.Server {
	return b.Server
}

func (b *BootStrap) GetDataConfig() *zconfig.Data {
	return b.DataConf
}

// =======================================================

// TODO： 自定义数据在此处进行配置
type Custom struct {
	TestData int64  `json:"testData"`
	Hello    string `json:"hello"`
}
